Skip to content

Enable Audio Support for Dasbob Keyboard (Vial)#1

Open
kajigga wants to merge 2 commits into
beekeeb:vialfrom
kajigga:dasbob-audio-fix
Open

Enable Audio Support for Dasbob Keyboard (Vial)#1
kajigga wants to merge 2 commits into
beekeeb:vialfrom
kajigga:dasbob-audio-fix

Conversation

@kajigga

@kajigga kajigga commented Jun 2, 2026

Copy link
Copy Markdown

Enable Audio Support for Dasbob Keyboard (Vial)

What

This PR enables audio output and audio clicky functionality for the dasbob split keyboard in the Vial firmware. Audio was working in the upstream QMK version but not in Vial.

Why

The Vial fork was missing critical RP2040-specific audio PWM configuration that the QMK version had. Without these settings, the GPIO pin for audio output was not properly configured for PWM, resulting in no sound.

Key Changes

Platform-level fixes:

  • platforms/chibios/chibios_config.h — Added AUDIO_PWM_PAL_MODE and AUDIO_PWM_COUNTER_FREQUENCY for RP2040. Without AUDIO_PWM_PAL_MODE, the code fell back to STM32 alternate function mode 6 which does not work on RP2040.
  • platforms/chibios/drivers/audio_pwm_hardware.c — Updated audio driver to use _impl function pattern and ISR-safe PWM functions.
  • quantum/audio/audio.{c,h} — Added wrapper functions that call the _impl versions.

Keyboard-level fixes:

  • keyboards/dasbob/mcuconf.h — Enabled RP_PWM_USE_TIM1 (was commented out)
  • keyboards/dasbob/rules.mk — Enabled AUDIO_ENABLE = yes, AUDIO_DRIVER = pwm_hardware, plus MOUSEKEY, AUTO_SHIFT, COMBOS, REPEAT_KEY, CAPS_WORD
  • keyboards/dasbob/config.h — Added FLOW_TAP_TERM, BOTH_SHIFTS_TURNS_ON_CAPS_WORD, and audio pin/driver config
  • keyboards/dasbob/keymaps/vial/config.h — Added DYNAMIC_KEYMAP_LAYER_COUNT and audio defines
  • keyboards/dasbob/keymaps/vial/rules.mk — Removed VIAL_INSECURE per PR requirements

Build fix:

  • lib/python/qmk/math.py — Fixed Python 3.14 compatibility (ast.Numast.Constant), required for the build system to work.

Testing

Firmware compiles successfully and has been flashed to hardware. Startup sound and audio clicky are now functional.

kajigga added 2 commits June 2, 2026 11:38
- Enable AUDIO_ENABLE and AUDIO_DRIVER=pwm_hardware in rules.mk
- Add AUDIO_PWM_PAL_MODE and AUDIO_PWM_COUNTER_FREQUENCY for RP2040
- Enable RP_PWM_USE_TIM1 in mcuconf.h
- Update audio driver to use _impl function pattern
- Add audio configuration to vial keymap config.h
- Add missing layer definitions (LAYER3-7) to keymap.c
- Enable MOUSEKEY, AUTO_SHIFT, COMBOS, REPEAT_KEY, CAPS_WORD
- Fix Python 3.14 compatibility (ast.Num -> ast.Constant)
- Add audioworking.md documentation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant